{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "2f2f97c9-d84f-4fbf-8505-5661e6309e04",
   "metadata": {},
   "source": [
    "Chapter 29\n",
    "# 标准化完成特征缩放\n",
    "Book_1《编程不难》 | 鸢尾花书：从加减乘除到机器学习  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "2ed43905-7c63-46e5-a0a1-12933194fadc",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 导入包\n",
    "from sklearn.datasets import load_iris\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "3deb7366-4ca2-4afb-9a77-93a1b99ef77e",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 使用load_iris()函数加载数据集\n",
    "iris = load_iris()\n",
    "X = iris.data    # 特征矩阵\n",
    "y = iris.target  # 标签数组"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "4b5aa513-782c-4071-ad75-ca6292e9c28b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbsAAAG2CAYAAADm9yjAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAA9hAAAPYQGoP6dpAABN0ElEQVR4nO3dd3gU5d7G8e/sZtMbSQi9I70TUIo0RRBQLC+i2ABFUBQVC2AB1KMcFCzHgqBHbAfRo0dFxYIgCCpKU1AUBGnSQgoJSUiy2Z33j8CGkA1kQ8Imk/tzXbncnd2Z+e24yc0z88zzGKZpmoiIiFiYzd8FiIiIlDeFnYiIWJ7CTkRELE9hJyIilqewExERy1PYiYiI5SnsRETE8hR2IiJieQo7ERGxPIWdiIhYXqUJu7y8PB566CEaNWpESEgIjRs35tFHH8Xtdvu7NBERqeAC/F1ASc2cOZOXX36ZN954g9atW7N27VpGjRpFVFQUd955p7/LExGRCqzShN0PP/zA0KFDGTx4MAANGzbknXfeYe3atX6uTEREKrpKE3Y9e/bk5ZdfZuvWrTRr1oxffvmFVatW8eyzzxa7Tk5ODjk5OZ7nbreblJQUYmNjMQzjLFQtIiJlxTRNjhw5Qu3atbHZfLwKZ1YSbrfbnDx5smkYhhkQEGAahmE+8cQTp1xn2rRpJqAf/ehHP/qx0M+ePXt8zhDDNCvHfHYLFy7kvvvu46mnnqJ169b8/PPP3HXXXTz99NPceOONXtc5uWWXlpZG/fr12bFjBxEREWer9EKcTifffPMNffv2xeFw+KWGiiIzM5MGDRoAsH37dqKiovxckX/pu1GgSh6LzEwcx34fnLt2QVhY/uOqeCyKkZKSQrNmzTh8+LDPfy8qzWnM++67j8mTJ3P11VcD0LZtW3bt2sWMGTOKDbugoCCCgoKKLI+JiSEyMrJc6y2O0+kkNDSU2NjYKv/FDQ4O9jyOiYkhOjraf8VUAPpuFKiSx+KE3wdiYwuFXZU7FqdRmstQlebWg6ysrCLnaO12u249EBGR06o0LbtLLrmExx9/nPr169O6dWs2bNjA008/zejRo/1dmoiIVHCVJuyef/55Hn74YW677TYSExOpXbs2Y8eOZerUqf4uTUREKrhKE3YRERE8++yzp7zVQERExJtKc81ORESktBR2IiJieQo7ERGxPIWdiIhYnsJOREQsT2EnIiKWp7ATERHLU9iJiIjlKexERMTyFHYiImJ5CjsREbE8hZ2IiFiewk5ERCxPYSciIpansBMREctT2ImIiOUp7ERExPIUdiIiYnkKOxERsTyFnYiIWJ7CTkRELE9hJyIilqewExERy1PYiYiI5SnsRETE8hR2IiJieQo7ERGxPIWdiIhYnsJOREQsT2EnIiKWp7ATERHLU9iJiIjlKexERMTyFHYiImJ5CjsREbE8hZ2IiFiewk5ERCxPYSciIpansBMREctT2ImIiOUp7ERExPIUdiIiYnkKOxERsTyFnYiIWJ7CTkRELE9hJyIilqewExERy1PYiYiI5SnsRETE8hR2IiJieQo7ERGxPIWdiIhYnsJOREQsT2EnIiKWp7ATERHLU9iJiIjlVaqw27t3L9dddx2xsbGEhobSoUMH1q1b5++yRESkggvwdwEllZqaSo8ePejbty+ff/458fHxbN++nejoaH+XJiIiFVylCbuZM2dSr1495s+f71nWsGFD/xUkIiKVRqUJu0WLFjFgwACGDRvGihUrqFOnDrfddhtjxowpdp2cnBxycnI8z9PT0wFwOp04nc5yr9mb4/v11/4rkhOPgT//n1QU+m4UqJLHwunE4XnohJOOQZU6FsU4k2NgmKZplmEt5SY4OBiAiRMnMmzYMH766Sfuuusu5s6dyw033OB1nenTp/PII48UWb5gwQJCQ0PLtV45vezsbK6++moAFi5c6Pl/LFIV2bOzGXLs9+HThQtx6fehiKysLEaMGEFaWhqRkZE+rVtpwi4wMJCEhAS+//57z7IJEyawZs0afvjhB6/reGvZ1atXj6SkJJ8PVFlxOp0sWbKE/v3743A4Tr+ChWVmZlKtWjUAEhMTq/z1V303ClTJY5GZiePY74MzNRXCwvIfV8VjUYzk5GRq1apVqrCrNKcxa9WqRatWrQota9myJR988EGx6wQFBREUFFRkucPh8PuXpiLU4G8nfn4djwI6FgWq1LE46feBkz53lToWxTiTz19pbj3o0aMHW7ZsKbRs69atNGjQwE8ViYhIZVFpwu7uu+9m9erVPPHEE2zbto0FCxYwb948xo8f7+/SRESkgqs0YdelSxc+/PBD3nnnHdq0acNjjz3Gs88+y7XXXuvv0kREpIKrNNfsAIYMGcKQIUP8XYaIiFQylaZl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f5flFz179mTp0qVs3boVgF9++YVVq1YxaNCgEm9DpzErkO3bt/P8888ze/Zsf5dSrpKSknC5XNSoUaPQ8ho1anDgwAE/VeV/pmkyceJEevbsSZs2bfxdjl8sXLiQ9evXs2bNGn+X4nd//fUXc+bMYeLEiTzwwAP89NNPTJgwgaCgIG644QZ/l3dWTZo0ibS0NFq0aIHdbsflcvH4449zzTXXlHgbatmVg+nTp2MYxil/1q5dW2idffv2MXDgQIYNG8bNN9/sp8rPrpOnWTJN029TL1UEt99+Oxs3buSdd97xdyl+sWfPHu68807efvttgoOD/V2O37ndbjp16sQTTzxBx44dGTt2LGPGjGHOnDn+Lu2se/fdd3n77bdZsGAB69ev54033mDWrFm88cYbJd6GWnbl4Pbbb+fqq68+5XsaNmzoebxv3z769u1Lt27dmDdvXjlX539xcXHY7fYirbjExMQirb2q4o477mDRokV8++23FWYaqrNt3bp1JCYm0rlzZ88yl8vFt99+ywsvvEBOTg52u92PFZ5dtWrVolWrVoWWtWzZkg8++MBPFfnPfffdx+TJkz1/V9u2bcuuXbuYMWMGN954Y4m2obArB3FxccTFxZXovXv37qVv37507tyZ+fPnl2qepsomMDCQzp07s2TJEi6//HLP8iVLljB06FA/Vnb2mabJHXfcwYcffsjy5ctp1KiRv0vymwsuuIBNmzYVWjZq1ChatGjBpEmTqlTQAfTo0aPIbShbt26lQYMGfqrIf7Kysor8bbTb7br1oLLYt28fffr0oX79+syaNYtDhw55XqtZs6YfKyt/EydO5PrrrychIcHTot29ezfjxo3zd2ln1fjx41mwYAEff/wxERERntZuVFQUISEhfq7u7IqIiChyrTIsLIzY2NgqeQ3z7rvvpnv37jzxxBNcddVV/PTTT8ybN69KnP052SWXXMLjjz9O/fr1ad26NRs2bODpp59m9OjRJd9ImfYPFZ/Mnz/fBLz+VAUvvvii2aBBAzMwMNDs1KlTlexuX9z///nz5/u7tAqhKt96YJqm+cknn5ht2rQxg4KCzBYtWpjz5s3zd0l+kZ6ebt55551m/fr1zeDgYLNx48bmgw8+aObk5JR4G5riR0RELM/6F4hERKTKU9iJiIjlKexERMTyFHYiImJ5CjsREbE8hZ2IiFie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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 原始数据散点图\n",
    "fig, ax = plt.subplots()\n",
    "ax.scatter(X[:, 0], X[:, 1], s = 18, c = y)\n",
    "# 质心位置\n",
    "ax.axvline(x = X[:, 0].mean(), c = 'r')\n",
    "ax.axhline(y = X[:, 1].mean(), c = 'r')\n",
    "ax.axvline(x = 0, c = 'k')\n",
    "ax.axhline(y = 0, c = 'k')\n",
    "ax.set_xlabel('Sepal length, cm')\n",
    "ax.set_ylabel('Sepal width, cm')\n",
    "ax.grid(True)\n",
    "ax.set_aspect('equal', adjustable='box')\n",
    "ax.set_xbound(lower = -3, upper = 8)\n",
    "ax.set_ybound(lower = -3, upper = 8)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "7e42a4b5-6b27-4029-9a17-1820e8ecadec",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import StandardScaler\n",
    "# 标准化特征数据矩阵\n",
    "scaler = StandardScaler()\n",
    "X_z_score = scaler.fit_transform(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "73ba846e-dba5-4c2a-a5f8-41788d2142fe",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 标准化数据散点图\n",
    "fig, ax = plt.subplots()\n",
    "ax.scatter(X_z_score[:, 0], X_z_score[:, 1], s = 18, c = y)\n",
    "# 质心位置\n",
    "ax.axvline(x = X_z_score[:, 0].mean(), c = 'r')\n",
    "ax.axhline(y = X_z_score[:, 1].mean(), c = 'r')\n",
    "ax.set_xlabel('Sepal length, z-score')\n",
    "ax.set_ylabel('Sepal width, z-score')\n",
    "ax.grid(True)\n",
    "ax.set_aspect('equal', adjustable='box')\n",
    "ax.set_xbound(lower = -3, upper = 8)\n",
    "ax.set_ybound(lower = -3, upper = 8)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
